<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <p>当前时间是：{{ now }}</p>
      <!-- 过滤器的使用语法：数据 | 过滤器名称 -->
      <p>过滤后的当前时间是：{{ now | dateformat('YYYY-MM-DD', 1, 2) }}</p>
      <p>过滤后的当前时间是：{{ now1 | dateformat('YYYY呵YYYY呵哒MM霍DD霍') }}</p>
      <p>过滤后的当前时间是：{{ now2 | dateformat('YYYY/MM/DD HH:mm:ss') }}</p>
    </div>

    <script src="../vue.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.4.1/dayjs.min.js"></script>
    <script>
      // Vue.filter 用来定义全局过滤器
      //   第一个参数：过滤器名称
      //   第二个参数：过滤处理函数
      //       函数的第一个参数 永远 是需要过滤的数据(竖线前面的)，
      //       从第二个参数开始才是使用过滤器时传递的参数列表
      //       函数的返回值就是最终过滤出来的数据
      Vue.filter('dateformat', (data, pattern, a, b) => {
        console.log('需要过滤的数据：', data);
        console.log('实参列表：', pattern, a, b);

        return dayjs(data).format(pattern);

        // data = new Date(data);
        // var y = data.getFullYear();
        // var month = data.getMonth() + 1;
        // var d = data.getDate();
        // var h = data.getHours();
        // var m = data.getMinutes();
        // var s = data.getSeconds();

        // if (pattern === 'yyyy-MM-dd') {
        //   return `${y}-${month}-${d}`;
        // }

        // return `${y}年${month}月${d}日 ${h}时${m}分${s}秒`;
      });

      var app = new Vue({
        el: '#app',
        data: {
          now: Date.now(),
          now1: new Date('2019/12/12'),
          now2: new Date('2018-11-11 08:08:08'),
        },
      });
    </script>
  </body>
</html>
